package Day08;

import java.util.Scanner;

public class Test06 {
    public static void main(String[] args) {
        /*我国的居民身份证号码，由由十七位数字本体码和一位数字校验码组成。请定义方法判断用户输入的身份证号码是否合法，
        并在主方法中调用方法测试结果。规则为：号码为18位，不能以数字0开头，前17位只可以是数字，最后一位可以是数字或者大写字母X。*/
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入身份证号");
        String sfz=sc.nextLine();
        boolean s=isT(sfz);
        System.out.println(s);
    }
    public static boolean isT(String s){
        if(s.length()!=18){
            return false;
        }else if(s.charAt(0)<'1'||s.charAt(0)>'9'){
            return false;
        }

            for (int i = 1; i <s.length()-1 ; i++) {
                char ch=s.charAt(i);
                if(ch<'0'||ch>'9'){
                    return false;
                }
            }
            char last=s.charAt(s.length()-1);
            if(last>='0'&&last<='9'){
                return true;
            }else if (last=='X'){
                return true;
            }else {
                return false;
            }
        }


}
